This invention is a continuation-in-part of U.S. patent application Ser. No. 09/204,757, filed Dec. 2, 1998, status pending.
The present invention relates to interpreting jobs written in a plurality of page description languages for printing with a printing apparatus and, more particularly, to a page description language (PDL) guesser which facilitates the interpretation of a print job written in a page description language by determining the page description language in which the print job is written.
Enterprise print management systems provide the means to control and access various printers and to manage other related information remotely.
There are print servers that use a single document manager based on the protocol of DPA ISO 10175 which streamline document processing and allow for minimization of UMC. Examples of such servers may be found in products made available by Xerox Corporation under the xe2x80x9cDocument Centrexe2x80x9d product name.
The enterprise print service will preferably employ an implementation known as the ISO document processing architecture (DPA) standard as envisioned by ISO/IEC 10175. The DPA print system is based on a two level client-server model. Both print spooler and printer supervisor act as servers.
A print client is a client acting as the user""s agent that accepts commands, submits requests to print services, receives responses, generates per-user local job numbers, and remembers for each user where the jobs have been submitted. A print spooler is a server that accepts operations from print clients and schedules print jobs on its printer supervisors.
A printer supervisor accepts requests from clients (print spoolers) to print a job on one of possibly several physical printers.
A physical printer represents an actual piece of printing hardware that is either directly or remotely connected to a printer supervisor. A queue contains jobs waiting to be printed. When a physical printer finishes or nearly finishes a job, its printer supervisor indicates to the spooler its readiness to accept another print job. The spooler scans the queue that feeds the physical printer and a scheduling algorithm selects the next job and assigns that job to that physical printer by submitting the print job to the print supervisor using an ISO DPA Print operation.
A logical printer is the abstract entity that users specify to indicate where their job is to be printed and/or what characteristics their job has. Each logical printer has default attributes that the server supplies for those attributes that neither the user nor his print client has supplied. The spooler may assign a print job to the queue based on the specified logical printer, depending on the scheduling policy as established by its system administrator. In other words, a logical printer feeds one queue; each queue feeds one or more physical printers as established by the system administrator of the spooler.
A page description language (PDL) is a method of describing printed pages in a printer independent format. A PDL establishes as interface between a print driver or client and a print server or printer. No one standard PDL presently exists, and as a result a number of industry a standards have emerged. Currently existing PDL standards include PostScript.RTM. (xe2x80x9cPSxe2x80x9d), Hewlett Packard Printer Control Language (xe2x80x9cHP-PCLxe2x80x9d) and Interpress Page Description Language.
The well-known commercially-available PDLs, such as PostScript and HP-PCL, relate mainly to the construction of various typefaces for characters and numerals. There are other conventions for organizing image data independent of any typefaces therein. These xe2x80x9cimage formatsxe2x80x9d include TIFF, CALS, as well as those image formats which are associated with facsimile transmission, such as CCITT fax Group 3 and fax Group 4. Image formats are a system of xe2x80x9cshorthandxe2x80x9d commands which enable raw image data (i.e., a set of binary numbers corresponding to black and white pixels) to be compressed into a more manageable form. To take one basic example, an image format such as TIFF or CALS may include an instruction within a data set corresponding to xe2x80x9cprint a white linexe2x80x9d in lieu of a long string of numbers (such as zeros), each number corresponding to one individual pixel in the white line. In this way, image data may be retained in smaller memory spaces than would be required if every single pixel in an image had its own bit of memory. As used herein, the term xe2x80x9cimage dataxe2x80x9d shall apply to image data in either image format or PDL, and an xe2x80x9cimage data setxe2x80x9d shall mean a meaningful quantity of such data, such as data for an image or a connected series of images.
With any PDL or image format, there will inevitably be a step of translation of the PDL or image format data into a form usable by an output device, such as a printer. Printing hardware requires an input stream of binary data. Thus, the instructions within the image format, such as to xe2x80x9cprint a white line,xe2x80x9d will eventually have to be translated into the actual binary code. This code can then be applied to the modulation of a laser source in a raster output scanner, or applied sequentially to individual ejectors in an ink-jet printer.
A PDL Guesser is a software algorithm that determines the page description language (PDL) or Image Format in which a print job is written by analyzing a sample of the data. The PDL Guesser is essential to an electronic print system since it shall determine if the system can print a specific job that it receives. Once a PDL Guesser in an electronic print system determines the PDL or Image Format of a print job, the print system can determine if it supports the PDL or Image Format.
Prior art guessing techniques to determine the PDL or Image Format include looking for specific character strings at the beginning of a very small portion of the image data, as taught in U.S. Pat. No. 5,526,469, commonly assigned as the present application and herein incorporated by reference. Another prior art PDL guesser looks for a specific command instruction at the beginning of each print job or recognizes unique command instructions that act as telltale signs, as described in U.S. Pat. No. 5,493,635, commonly assigned as the present application and herein incorporated by reference. One prior art guesser recognizes a PDL or Inage Format by its xe2x80x9csignaturexe2x80x9d string or by the frequency of the occurrence of certain xe2x80x9coperatorsxe2x80x9d, as explained in U.S. Pat. No. 5,402,527, commonly assigned as the present application and herein incorporated by reference. Yet another prior art PDL guesser utilizes statistical analysis to recognize a PDL or Image Format, as detailed in U.S. Pat. No. 5,293,466, herein incorporated by reference.
These prior art PDL Guessing techniques may not be sufficient for certain PDLs and Image Formats. The PDL or Image Format may not have an identified xe2x80x9csignaturexe2x80x9d string which must be present in every print job. There may not be a representative sample of command operators that can be guaranteed to exist in every print job. The frequencies of occurrence of certain PDL or Image Format command operator strings may not be able to be guaranteed across all print jobs. The PDL or Image Format may not lend itself to statistical analysis since no characteristic sequences may occur in a significant portion of the print job samples.
It is an object of the present invention to provide a new type of PDL guesser for PDL and Image formats.
According to the present invention, a printing system produces prints from a print job written in one of a plurality of page description languages with the print job assuming the form of a print job stream. The printing system includes a page description language guesser having a plurality of page description language analyzing units for sampling the print job stream, each analyzing unit outputting an information signal which provides information regarding the print job stream. The PDL guesser, which receives the information signals, processes the information signals and outputs a filtered signal which indicates the page description language in which the print job is written.
The page description language (PDL) analyzing unit verifies that in the data sample all command operator strings, their associated parameters and interspersed data are valid for a particular PDL or Image Format.
Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.